Full source code giải đố hình đơn giản
16.633 lượt xem;
- MusicController.cs
- Puzzle Music Controller /
- Scripts /
- Assets /
- project /
1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4
5 public class MusicController : MonoBehaviour {
6
7 [SerializeField]
8 private PuzzleGameSaver puzzleGameSaver;
9
10 private AudioSource bgMusicClip;
11
12 private float musicVolume;
13
14 void Awake()
15 {
16 GetAudioSource();
17 }
18
19 // Use this for initialization
20 void Start () {
21 musicVolume = puzzleGameSaver.musicVolume;
22 PlayOrTurnOfMusic(musicVolume);
23 }
24
25 void GetAudioSource()
26 {
27 bgMusicClip = GetComponent<AudioSource>();
28 }
29
30 public void SetMusicVolume(float volume)
31 {
32 PlayOrTurnOfMusic(volume);
33 }
34
35 void PlayOrTurnOfMusic(float volume)
36 {
37 musicVolume = volume;
38 bgMusicClip.volume = musicVolume;
39
40 if(bgMusicClip.volume > 0)
41 {
42 if (!bgMusicClip.isPlaying)
43 {
44 bgMusicClip.Play();
45 }
46
47 puzzleGameSaver.musicVolume = musicVolume;
48 puzzleGameSaver.SaveGameData();
49
50 } else if (bgMusicClip.volume == 0)
51 {
52 if (bgMusicClip.isPlaying)
53 {
54 bgMusicClip.Stop();
55 }
56
57 puzzleGameSaver.musicVolume = musicVolume;
58 puzzleGameSaver.SaveGameData();
59
60 }
61 }
62
63 public float GetMusicVolume()
64 {
65 return this.musicVolume;
66 }
67
68 }
2 using System.Collections.Generic;
3 using UnityEngine;
4
5 public class MusicController : MonoBehaviour {
6
7 [SerializeField]
8 private PuzzleGameSaver puzzleGameSaver;
9
10 private AudioSource bgMusicClip;
11
12 private float musicVolume;
13
14 void Awake()
15 {
16 GetAudioSource();
17 }
18
19 // Use this for initialization
20 void Start () {
21 musicVolume = puzzleGameSaver.musicVolume;
22 PlayOrTurnOfMusic(musicVolume);
23 }
24
25 void GetAudioSource()
26 {
27 bgMusicClip = GetComponent<AudioSource>();
28 }
29
30 public void SetMusicVolume(float volume)
31 {
32 PlayOrTurnOfMusic(volume);
33 }
34
35 void PlayOrTurnOfMusic(float volume)
36 {
37 musicVolume = volume;
38 bgMusicClip.volume = musicVolume;
39
40 if(bgMusicClip.volume > 0)
41 {
42 if (!bgMusicClip.isPlaying)
43 {
44 bgMusicClip.Play();
45 }
46
47 puzzleGameSaver.musicVolume = musicVolume;
48 puzzleGameSaver.SaveGameData();
49
50 } else if (bgMusicClip.volume == 0)
51 {
52 if (bgMusicClip.isPlaying)
53 {
54 bgMusicClip.Stop();
55 }
56
57 puzzleGameSaver.musicVolume = musicVolume;
58 puzzleGameSaver.SaveGameData();
59
60 }
61 }
62
63 public float GetMusicVolume()
64 {
65 return this.musicVolume;
66 }
67
68 }